/**
 * 
 */
package com.naiterui.ehp.bs.patient.vo;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

/**
 * @author Gaoll
 * @since HZD-1.0.0
 */
@JsonIgnoreProperties(ignoreUnknown = true)
public class ConsultDetail {

    /**
     * 消息来源-患者：<code>CONSULT_SOURCE_PATIENT</code>
     */
    public static final int CONSULT_SOURCE_PATIENT = 0;
    /**
     * 消息来源-医生：<code>CONSULT_SOURCE_DOCTOR</code>
     */
    public static final int CONSULT_SOURCE_DOCTOR = 1;

    /**
     * 主键
     */
    private String id;
    /**
     * 会话ID
     */
    private String sessionId;
    /**
     * 会话开始时间
     */
    private Long beginTime;
    /**
     * 是否收费 0:免费;1:付费
     */
    private Integer payType;
    /**
     * 发送者ID
     */
    private Long fromId;
    /**
     * 接受者ID
     */
    private Long toId;
    /**
     * 会话结束时间
     */
    private Long endTime;
    /**
     * 会话关系
     * 0:患者发起;1医生发起;
     */
    private Integer relation;
    /**
     * 付费状态
     * 1:咨询中;2:已结束;3:已付费;
     */
    private Integer payStatus;
    /**
     * 问诊价格
     */
    private String price;
    /**
     * 包含视频咨询:0否，1是：<code>containVideo</code>
     */
    private Integer containVideo;
    /**
     * 包含推荐购药：0否,1：是：<code>containRecom</code>
     */
    private Integer containRecom;
    /**
     * 显示消息内容：<code>viewMsg</code>
     */
    private Msg viewMsg;
    /**
     * 医生名称：<code>name</code>
     */
    private String name;
    /**
     * 头像：<code>headUrl</code>
     */
    private String headUrl;
    /**
     * 科室：<code>department</code>
     */
    private String department;
    /**
     * 医院：<code>hospital</code>
     */
    private String hospital;
    /**
     * 审核状态：<code>status</code>
     */
    private Integer status;

    public static class Msg {

        /**
         * 消息类型
         */
        Integer type;

        /**
         * 消息内容
         */
        Object content;

        /**
         * 构造函数
         * @param i
         * @param string
         */
        public Msg() {
        }

        /**
         * 构造函数
         * @param i
         * @param string
         */
        public Msg(int i, String content) {
            this.type = i;
            this.content = content;
        }

        public Integer getType() {
            return this.type;
        }

        public void setType(Integer type) {
            this.type = type;
        }

        public Object getContent() {
            return this.content;
        }

        public void setContent(Object content) {
            this.content = content;
        }

    }

    /**
     * @return String 取得域 sessionId 的方法。
     */
    public String getSessionId() {
        return this.sessionId;
    }

    /**
     * @param sessionId 对域 sessionId 的设置方法.
     */
    public void setSessionId(String sessionId) {
        this.sessionId = sessionId;
    }

    /**
     * @return Long 取得域 beginTime 的方法。
     */
    public Long getBeginTime() {
        return this.beginTime;
    }

    /**
     * @param beginTime 对域 beginTime 的设置方法.
     */
    public void setBeginTime(Long beginTime) {
        this.beginTime = beginTime;
    }

    /**
     * @return Integer 取得域 payType 的方法。
     */
    public Integer getPayType() {
        return this.payType;
    }

    /**
     * @param payType 对域 payType 的设置方法.
     */
    public void setPayType(Integer payType) {
        this.payType = payType;
    }

    /**
     * @return Long 取得域 fromId 的方法。
     */
    public Long getFromId() {
        return this.fromId;
    }

    /**
     * @param fromId 对域 fromId 的设置方法.
     */
    public void setFromId(Long fromId) {
        this.fromId = fromId;
    }

    /**
     * @return Long 取得域 toId 的方法。
     */
    public Long getToId() {
        return this.toId;
    }

    /**
     * @param toId 对域 toId 的设置方法.
     */
    public void setToId(Long toId) {
        this.toId = toId;
    }

    /**
     * @return Long 取得域 endTime 的方法。
     */
    public Long getEndTime() {
        return this.endTime;
    }

    /**
     * @param endTime 对域 endTime 的设置方法.
     */
    public void setEndTime(Long endTime) {
        this.endTime = endTime;
    }

    /**
     * @return Integer 取得域 relation 的方法。
     */
    public Integer getRelation() {
        return this.relation;
    }

    /**
     * @param relation 对域 relation 的设置方法.
     */
    public void setRelation(Integer relation) {
        this.relation = relation;
    }

    /**
     * @return Integer 取得域 payStatus 的方法。
     */
    public Integer getPayStatus() {
        return this.payStatus;
    }

    /**
     * @param payStatus 对域 payStatus 的设置方法.
     */
    public void setPayStatus(Integer payStatus) {
        this.payStatus = payStatus;
    }

    /**
     * @return String 取得域 price 的方法。
     */
    public String getPrice() {
        return this.price;
    }

    /**
     * @param price 对域 price 的设置方法.
     */
    public void setPrice(String price) {
        this.price = price;
    }

    /**
     * @return Integer 取得域 containVideo 的方法。
     */
    public Integer getContainVideo() {
        return this.containVideo;
    }

    /**
     * @param containVideo 对域 containVideo 的设置方法.
     */
    public void setContainVideo(Integer containVideo) {
        this.containVideo = containVideo;
    }

    /**
     * @return Integer 取得域 containRecom 的方法。
     */
    public Integer getContainRecom() {
        return this.containRecom;
    }

    /**
     * @param containRecom 对域 containRecom 的设置方法.
     */
    public void setContainRecom(Integer containRecom) {
        this.containRecom = containRecom;
    }

    /**
     * @return Msg 取得域 viewMsg 的方法。
     */
    public Msg getViewMsg() {
        return this.viewMsg;
    }

    /**
     * @param viewMsg 对域 viewMsg 的设置方法.
     */
    public void setViewMsg(Msg viewMsg) {
        this.viewMsg = viewMsg;
    }

    /**
     * @return String 取得域 name 的方法。
     */
    public String getName() {
        return this.name;
    }

    /**
     * @param name 对域 name 的设置方法.
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * @return String 取得域 headUrl 的方法。
     */
    public String getHeadUrl() {
        return this.headUrl;
    }

    /**
     * @param headUrl 对域 headUrl 的设置方法.
     */
    public void setHeadUrl(String headUrl) {
        this.headUrl = headUrl;
    }

    /**
     * @return String 取得域 department 的方法。
     */
    public String getDepartment() {
        return this.department;
    }

    /**
     * @param department 对域 department 的设置方法.
     */
    public void setDepartment(String department) {
        this.department = department;
    }

    /**
     * @return String 取得域 hospital 的方法。
     */
    public String getHospital() {
        return this.hospital;
    }

    /**
     * @param hospital 对域 hospital 的设置方法.
     */
    public void setHospital(String hospital) {
        this.hospital = hospital;
    }

    /**
     * @return Integer 取得域 status 的方法。
     */
    public Integer getStatus() {
        return this.status;
    }

    /**
     * @param status 对域 status 的设置方法.
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * @return String 取得域 id 的方法。
     */
    public String getId() {
        return this.id;
    }

    /**
     * @param id 对域 id 的设置方法.
     */
    public void setId(String id) {
        this.id = id;
    }

}
